SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Shell Script
Estruturas de Controle
Estruturas de Controles

●
    Permite desviar o fluxo
●
    Permite repetir um determinado bloco de
    comandos
if...then

A estrutura if...then é utilizada para execução de
  um determinado bloco de comando dada uma
  condição

if command
then
     commands
fi
if...then

Exemplo:

#!/bin/bash
if date
then
     echo "it worked"
fi
if...then...else

A estrutura if...then...else é utilizada para execução de
  um determinado bloco de comando caso a condição
  seja satisfeita e outro bloco caso contrário.
if command
then
     commands
else
     commands
fi
if...then...else

#!/bin/bash
echo "Digite um nome de usuário do sitema: "
read testuser
if grep $testuser /etc/passwd
then
     echo "Arquivos do Usuário $testuser:"
     ls -a /home/$testuser/.b*
else
     echo "Usuário $testuser não existe"
fi
elif

Às vezes, você deve precisa de validar diversas situações no
 seu código script. Em vez de ter que escrever declarações
 separadas if, então, você pode usar uma versão alternativa,
 um comando que realiza testes aninhados.
if command1
then
     commands
elif command2
then
     more commands
fi
Comparação

Os comandos de teste fornecem uma maneira de
 testar as diferentes condições em uma
 instrução if...then. Se a
condição listada no comando de teste for
  verdade então a condição if...then será
  satisfeita.
O shell bash fornece uma maneira alternativa de
 declarar o comando de teste em um if...then
Comparação

if [ condition ]
then
     commands
fi
Comparação

Existem três classes de condições de o
 comando de teste pode avaliar:
       ■ comparações numéricas
       ■ comparações String
       ■ comparações Arquivo
Comparação Numérica

O método mais comum para usar o comando de
 teste é realizar uma comparação de dois
valores numéricos. Tabela a seguir mostra a lista
  de parâmetros de condição usado para testar
  dois valores.
Comparação Numérica


n1 -eq n2 : Verifique se n1 é igual a n2.
n1-ge n2 :Verifique se n1 é maior ou igual a n2.
n1-gt n2 : Verifique se n1 é maior do que n2.
n1-le n2 : Verifique se n1 for menor ou igual a n2.
n1-lt n2   : Verifique se n1 for inferior a n2.
n1-ne n2 : Verifique se o n1 não é igual a n2.
Comparação Numérica

#!/bin/bash


echo "Escreva um número: "
read val1
echo "Escreva um número: "
read val2


if [ $val1 -gt $val2 ]
then
     echo "O valor $val1 é maior que $val2"
else
     echo "O valor $val2 é maior que $val1"
fi
Comparação de Strings

O comando de teste também permite realizar
 comparações de valores de Strings. No
 próximo slide será apresentado uma tabela
 com operadores para comparação entre
 strings.
Comparação de Strings


str1 = str2   : Check if str1 is the same as string str2.
str1 != str2 : Check if str1 is not the same as str2.
str1 < str2   : Check if str1 is less than str2.
str1 > str2   : Check if str1 is greater than str2.
-n str1       : Check if str1 has a length greater than zero.
-z str1       : Check if str1 has a length of zero.
Comparação de Strings

#!/bin/bash
echo "Qual o seu login de usuario neste momento? "
read testuser
if [ $USER != $testuser ]
then
     echo "This isn’t $testuser"
else
     echo "Welcome $testuser"
fi
Comparação de Strings

#!/bin/bash
echo "Digite a primeira String: "
read var1
echo "Digite a segundo String: "
read var2


if [ $var1 > $var2 ]
then
     echo "A string $var1 é maior que $var2"
else
     echo "A string $var1 não é maior que $var2"
fi
Comparação de Strings

#!/bin/bash
echo "Digite a uma String: "
read var1
if [ -z $var1 ]
then
     echo "String está vazia"
else
     echo "A string tem algo"
fi
Comparação de Arquivos/Diretórios

O comando de teste que permite testar o status
 de arquivos e diretórios no sistema de arquivos
 Linux.
Comparação de Arquivos/Diretórios

-d file           Check if file exists and is a directory.
-e file           Checks if file exists.
-f file           Checks if file exists and is a file.
-r file           Checks if file exists and is readable.
-s file           Checks if file exists and is not empty.
-w file           Checks if file exists and is writable.
-x file           Checks if file exists and is executable.
-O file           Checks if file exists and is owned by the current user.
-G file         Checks if file exists and the default group is the same as the
  current user.
file1 -nt file2   Checks if file1 is newer than file2.
file1 -ot file2   Checks if file1 is older than file2.
Comparação de Arquivos/Diretórios

#!/bin/bash
if [ -d $HOME ]
then
     echo "Seu HOME diretório existe"
     cd $HOME
     ls -a
else
     echo "Você tem algum problema pois o diretório HOME não
     existe"
fi
Comparação de Arquivos/Diretórios

#!/bin/bash
# check if a file
if [ -e $HOME ]
then
     echo "The object exists, is it a file?"
     if [ -f $HOME ]
     then
          echo "Yes, it’s a file!"
     else
          echo "No, it’s not a file!"
          if [ -f $HOME/.bash history ]
          then
               echo "But this is a file!"
          fi
     fi
else
     echo "Sorry, the object doesn’t exist"
fi
Referência

BLUM, Richard. Linux Command Line and
Shell Scripting. Indianapolis: Wiley Publishing,
Inc, 2008..

Mais conteúdo relacionado

Mais procurados

Bash, o poder da linha de comando! - Tchelinux.org 2017
Bash, o poder da linha de comando! - Tchelinux.org 2017Bash, o poder da linha de comando! - Tchelinux.org 2017
Bash, o poder da linha de comando! - Tchelinux.org 2017Sandro Custodio
 
44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batchMarcio Pereira
 
C++: biblioteca padrão de templates - Parte 1
C++: biblioteca padrão de templates - Parte 1C++: biblioteca padrão de templates - Parte 1
C++: biblioteca padrão de templates - Parte 1Ivan Ricarte
 
Introduction to linux
Introduction to linuxIntroduction to linux
Introduction to linuxguilhermeoki
 
Automatizando tarefas com bash script
Automatizando tarefas com bash scriptAutomatizando tarefas com bash script
Automatizando tarefas com bash scriptRennan Cockles
 
Minicurso Shell Script
Minicurso Shell ScriptMinicurso Shell Script
Minicurso Shell ScriptLuís Eduardo
 
Linux comandos diversos
Linux   comandos diversosLinux   comandos diversos
Linux comandos diversosDanilo Filitto
 
013 programando em python - arquivos
013   programando em python - arquivos013   programando em python - arquivos
013 programando em python - arquivosLeandro Barbosa
 
Linux comandos para arquivos e diretórios
Linux   comandos para arquivos e diretóriosLinux   comandos para arquivos e diretórios
Linux comandos para arquivos e diretóriosDanilo Filitto
 
Manual comandos
Manual comandosManual comandos
Manual comandosPaulo Rijo
 
Apostila de comandos linux resumidos (universidade católica de brasília)
Apostila de comandos linux   resumidos (universidade católica de brasília)Apostila de comandos linux   resumidos (universidade católica de brasília)
Apostila de comandos linux resumidos (universidade católica de brasília)SENAC RIO
 
Curso de Shell Script 02/11
Curso de Shell Script 02/11Curso de Shell Script 02/11
Curso de Shell Script 02/11Rodrigo Silva
 
Programando em python arquivos
Programando em python   arquivosProgramando em python   arquivos
Programando em python arquivossamuelthiago
 

Mais procurados (20)

Bash, o poder da linha de comando! - Tchelinux.org 2017
Bash, o poder da linha de comando! - Tchelinux.org 2017Bash, o poder da linha de comando! - Tchelinux.org 2017
Bash, o poder da linha de comando! - Tchelinux.org 2017
 
Comandos linux
Comandos linux Comandos linux
Comandos linux
 
Tr.01.comandos part1
Tr.01.comandos part1Tr.01.comandos part1
Tr.01.comandos part1
 
Curso Gratuito de Shell Script
Curso Gratuito de Shell ScriptCurso Gratuito de Shell Script
Curso Gratuito de Shell Script
 
44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch44087090 tutorial-programacao-batch
44087090 tutorial-programacao-batch
 
C++: biblioteca padrão de templates - Parte 1
C++: biblioteca padrão de templates - Parte 1C++: biblioteca padrão de templates - Parte 1
C++: biblioteca padrão de templates - Parte 1
 
Introduction to linux
Introduction to linuxIntroduction to linux
Introduction to linux
 
Automatizando tarefas com bash script
Automatizando tarefas com bash scriptAutomatizando tarefas com bash script
Automatizando tarefas com bash script
 
Minicurso Shell Script
Minicurso Shell ScriptMinicurso Shell Script
Minicurso Shell Script
 
Linux comandos diversos
Linux   comandos diversosLinux   comandos diversos
Linux comandos diversos
 
Tutorial Shell Script
Tutorial Shell ScriptTutorial Shell Script
Tutorial Shell Script
 
013 programando em python - arquivos
013   programando em python - arquivos013   programando em python - arquivos
013 programando em python - arquivos
 
Linux comandos para arquivos e diretórios
Linux   comandos para arquivos e diretóriosLinux   comandos para arquivos e diretórios
Linux comandos para arquivos e diretórios
 
Manual comandos
Manual comandosManual comandos
Manual comandos
 
Comandos Shell
Comandos ShellComandos Shell
Comandos Shell
 
Apostila de comandos linux resumidos (universidade católica de brasília)
Apostila de comandos linux   resumidos (universidade católica de brasília)Apostila de comandos linux   resumidos (universidade católica de brasília)
Apostila de comandos linux resumidos (universidade católica de brasília)
 
Curso de Shell Script 02/11
Curso de Shell Script 02/11Curso de Shell Script 02/11
Curso de Shell Script 02/11
 
PowerShell
PowerShellPowerShell
PowerShell
 
Programando em python arquivos
Programando em python   arquivosProgramando em python   arquivos
Programando em python arquivos
 
Comandos basicos linux
Comandos basicos linuxComandos basicos linux
Comandos basicos linux
 

Destaque (10)

Shell Script
Shell ScriptShell Script
Shell Script
 
Shell Script Linux
Shell Script LinuxShell Script Linux
Shell Script Linux
 
Dicas e Princípios Básicos do Linux
Dicas e Princípios Básicos do LinuxDicas e Princípios Básicos do Linux
Dicas e Princípios Básicos do Linux
 
Processo Decisório - Introdução
Processo Decisório - IntroduçãoProcesso Decisório - Introdução
Processo Decisório - Introdução
 
Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1
 
Comandos Linux Parte 2
Comandos Linux Parte 2Comandos Linux Parte 2
Comandos Linux Parte 2
 
Redes de Computadores Capítulo 3 - Camada de Enlace
Redes de Computadores Capítulo 3 - Camada de EnlaceRedes de Computadores Capítulo 3 - Camada de Enlace
Redes de Computadores Capítulo 3 - Camada de Enlace
 
Método AHP em Processo Decisório
Método AHP em Processo DecisórioMétodo AHP em Processo Decisório
Método AHP em Processo Decisório
 
Protocolos de Redes
Protocolos de RedesProtocolos de Redes
Protocolos de Redes
 
Active Directory
Active DirectoryActive Directory
Active Directory
 

Semelhante a Shell Script Estruturas

Curso De Shell Aula 3
Curso De Shell   Aula 3Curso De Shell   Aula 3
Curso De Shell Aula 3Felipe Santos
 
Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell scriptbrunobione
 
Introdução ao shell script no linux
Introdução ao shell script no linuxIntrodução ao shell script no linux
Introdução ao shell script no linuxPaulo Damas
 
Curso De Shell Aula 1
Curso De Shell   Aula 1Curso De Shell   Aula 1
Curso De Shell Aula 1Felipe Santos
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 
Sapo sessions linux power tools
Sapo sessions linux power toolsSapo sessions linux power tools
Sapo sessions linux power toolsArmando Reis
 
Sistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de ArquivosSistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de ArquivosLuiz Arthur
 

Semelhante a Shell Script Estruturas (20)

Fpar aula5
Fpar aula5Fpar aula5
Fpar aula5
 
Lpi+102
Lpi+102Lpi+102
Lpi+102
 
Shell scripts
Shell scriptsShell scripts
Shell scripts
 
Curso De Shell Aula 3
Curso De Shell   Aula 3Curso De Shell   Aula 3
Curso De Shell Aula 3
 
Linux shell
Linux shellLinux shell
Linux shell
 
Shell Script v0
Shell Script v0Shell Script v0
Shell Script v0
 
Curso shell
Curso shellCurso shell
Curso shell
 
shell bash Fpar aula6
shell bash Fpar aula6shell bash Fpar aula6
shell bash Fpar aula6
 
Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell script
 
Shell Script
Shell ScriptShell Script
Shell Script
 
Introdução ao shell script no linux
Introdução ao shell script no linuxIntrodução ao shell script no linux
Introdução ao shell script no linux
 
Shell script i
Shell script iShell script i
Shell script i
 
Curso De Shell Aula 1
Curso De Shell   Aula 1Curso De Shell   Aula 1
Curso De Shell Aula 1
 
Shell script
Shell scriptShell script
Shell script
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 
Sapo sessions linux power tools
Sapo sessions linux power toolsSapo sessions linux power tools
Sapo sessions linux power tools
 
Sistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de ArquivosSistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
 
Aula4
Aula4Aula4
Aula4
 

Mais de Wellington Oliveira

Configuração de Interface de Rede no Linux por comandos
Configuração de Interface de Rede no Linux por comandosConfiguração de Interface de Rede no Linux por comandos
Configuração de Interface de Rede no Linux por comandosWellington Oliveira
 
CISCO CCNA WANs Prática ACL _ Lista de controle de acesso
CISCO CCNA WANs Prática ACL _ Lista de controle de acessoCISCO CCNA WANs Prática ACL _ Lista de controle de acesso
CISCO CCNA WANs Prática ACL _ Lista de controle de acessoWellington Oliveira
 
WANs e Roteadores Cap. 11 - Lista de Controle de Acesso
WANs e Roteadores Cap. 11 - Lista de Controle de AcessoWANs e Roteadores Cap. 11 - Lista de Controle de Acesso
WANs e Roteadores Cap. 11 - Lista de Controle de AcessoWellington Oliveira
 
CCNA - Conjunto de Protocolos TCP/IP e endereçamento IP
CCNA - Conjunto de Protocolos TCP/IP e endereçamento IPCCNA - Conjunto de Protocolos TCP/IP e endereçamento IP
CCNA - Conjunto de Protocolos TCP/IP e endereçamento IPWellington Oliveira
 
Prática Laboratório CISCO - ACLs
Prática Laboratório CISCO - ACLsPrática Laboratório CISCO - ACLs
Prática Laboratório CISCO - ACLsWellington Oliveira
 
Prática Laboratório CISCO - Balanceador
Prática Laboratório CISCO - BalanceadorPrática Laboratório CISCO - Balanceador
Prática Laboratório CISCO - BalanceadorWellington Oliveira
 
Prática Laboratório CISCO - NAT
Prática Laboratório CISCO - NATPrática Laboratório CISCO - NAT
Prática Laboratório CISCO - NATWellington Oliveira
 
Memória Interna - Arquitetura e Organização de Computadores
Memória Interna - Arquitetura e Organização de ComputadoresMemória Interna - Arquitetura e Organização de Computadores
Memória Interna - Arquitetura e Organização de ComputadoresWellington Oliveira
 
Introdução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresIntrodução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresWellington Oliveira
 
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...Wellington Oliveira
 
Barramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresBarramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresWellington Oliveira
 
Redes Teórico - Capítulo 02 Tanenbaum
Redes Teórico - Capítulo 02 TanenbaumRedes Teórico - Capítulo 02 Tanenbaum
Redes Teórico - Capítulo 02 TanenbaumWellington Oliveira
 
Lógica e Algoritmos (pseudocódigo e C++) A lógica
Lógica e Algoritmos (pseudocódigo e C++) A lógicaLógica e Algoritmos (pseudocódigo e C++) A lógica
Lógica e Algoritmos (pseudocódigo e C++) A lógicaWellington Oliveira
 
Sistemas Operacionais Modernos - Gerenciamento de Memória
Sistemas Operacionais Modernos - Gerenciamento de MemóriaSistemas Operacionais Modernos - Gerenciamento de Memória
Sistemas Operacionais Modernos - Gerenciamento de MemóriaWellington Oliveira
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockWellington Oliveira
 
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de OliveiraSistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de OliveiraWellington Oliveira
 

Mais de Wellington Oliveira (20)

Usuário LInux
Usuário LInuxUsuário LInux
Usuário LInux
 
Configuração de Interface de Rede no Linux por comandos
Configuração de Interface de Rede no Linux por comandosConfiguração de Interface de Rede no Linux por comandos
Configuração de Interface de Rede no Linux por comandos
 
CISCO CCNA WANs Prática ACL _ Lista de controle de acesso
CISCO CCNA WANs Prática ACL _ Lista de controle de acessoCISCO CCNA WANs Prática ACL _ Lista de controle de acesso
CISCO CCNA WANs Prática ACL _ Lista de controle de acesso
 
WANs e Roteadores Cap. 11 - Lista de Controle de Acesso
WANs e Roteadores Cap. 11 - Lista de Controle de AcessoWANs e Roteadores Cap. 11 - Lista de Controle de Acesso
WANs e Roteadores Cap. 11 - Lista de Controle de Acesso
 
LInux - Iinit e systemd
LInux - Iinit e systemdLInux - Iinit e systemd
LInux - Iinit e systemd
 
CCNA - Conjunto de Protocolos TCP/IP e endereçamento IP
CCNA - Conjunto de Protocolos TCP/IP e endereçamento IPCCNA - Conjunto de Protocolos TCP/IP e endereçamento IP
CCNA - Conjunto de Protocolos TCP/IP e endereçamento IP
 
Prática Laboratório CISCO - ACLs
Prática Laboratório CISCO - ACLsPrática Laboratório CISCO - ACLs
Prática Laboratório CISCO - ACLs
 
Prática Laboratório CISCO - Balanceador
Prática Laboratório CISCO - BalanceadorPrática Laboratório CISCO - Balanceador
Prática Laboratório CISCO - Balanceador
 
Prática Laboratório CISCO - NAT
Prática Laboratório CISCO - NATPrática Laboratório CISCO - NAT
Prática Laboratório CISCO - NAT
 
Questões Cisco CCNA Cap 6
Questões Cisco CCNA Cap 6Questões Cisco CCNA Cap 6
Questões Cisco CCNA Cap 6
 
Memória Interna - Arquitetura e Organização de Computadores
Memória Interna - Arquitetura e Organização de ComputadoresMemória Interna - Arquitetura e Organização de Computadores
Memória Interna - Arquitetura e Organização de Computadores
 
Introdução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresIntrodução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de Computadores
 
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
 
Barramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresBarramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de Computadores
 
Redes Teórico - Capítulo 02 Tanenbaum
Redes Teórico - Capítulo 02 TanenbaumRedes Teórico - Capítulo 02 Tanenbaum
Redes Teórico - Capítulo 02 Tanenbaum
 
Lógica e Algoritmos (pseudocódigo e C++) A lógica
Lógica e Algoritmos (pseudocódigo e C++) A lógicaLógica e Algoritmos (pseudocódigo e C++) A lógica
Lógica e Algoritmos (pseudocódigo e C++) A lógica
 
Sistemas Operacionais Modernos - Gerenciamento de Memória
Sistemas Operacionais Modernos - Gerenciamento de MemóriaSistemas Operacionais Modernos - Gerenciamento de Memória
Sistemas Operacionais Modernos - Gerenciamento de Memória
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 Deadlock
 
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de OliveiraSistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
 
Introdução ao PHP Parte 1
Introdução ao PHP Parte 1Introdução ao PHP Parte 1
Introdução ao PHP Parte 1
 

Último

William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
Nova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisasNova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisasraveccavp
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.MrPitobaldo
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdfCD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdfManuais Formação
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptx[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptxLinoReisLino
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxRonys4
 

Último (20)

Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
Nova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisasNova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisas
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdfCD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptx[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptx
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
 

Shell Script Estruturas

  • 2. Estruturas de Controles ● Permite desviar o fluxo ● Permite repetir um determinado bloco de comandos
  • 3. if...then A estrutura if...then é utilizada para execução de um determinado bloco de comando dada uma condição if command then commands fi
  • 5. if...then...else A estrutura if...then...else é utilizada para execução de um determinado bloco de comando caso a condição seja satisfeita e outro bloco caso contrário. if command then commands else commands fi
  • 6. if...then...else #!/bin/bash echo "Digite um nome de usuário do sitema: " read testuser if grep $testuser /etc/passwd then echo "Arquivos do Usuário $testuser:" ls -a /home/$testuser/.b* else echo "Usuário $testuser não existe" fi
  • 7. elif Às vezes, você deve precisa de validar diversas situações no seu código script. Em vez de ter que escrever declarações separadas if, então, você pode usar uma versão alternativa, um comando que realiza testes aninhados. if command1 then commands elif command2 then more commands fi
  • 8. Comparação Os comandos de teste fornecem uma maneira de testar as diferentes condições em uma instrução if...then. Se a condição listada no comando de teste for verdade então a condição if...then será satisfeita. O shell bash fornece uma maneira alternativa de declarar o comando de teste em um if...then
  • 9. Comparação if [ condition ] then commands fi
  • 10. Comparação Existem três classes de condições de o comando de teste pode avaliar: ■ comparações numéricas ■ comparações String ■ comparações Arquivo
  • 11. Comparação Numérica O método mais comum para usar o comando de teste é realizar uma comparação de dois valores numéricos. Tabela a seguir mostra a lista de parâmetros de condição usado para testar dois valores.
  • 12. Comparação Numérica n1 -eq n2 : Verifique se n1 é igual a n2. n1-ge n2 :Verifique se n1 é maior ou igual a n2. n1-gt n2 : Verifique se n1 é maior do que n2. n1-le n2 : Verifique se n1 for menor ou igual a n2. n1-lt n2 : Verifique se n1 for inferior a n2. n1-ne n2 : Verifique se o n1 não é igual a n2.
  • 13. Comparação Numérica #!/bin/bash echo "Escreva um número: " read val1 echo "Escreva um número: " read val2 if [ $val1 -gt $val2 ] then echo "O valor $val1 é maior que $val2" else echo "O valor $val2 é maior que $val1" fi
  • 14. Comparação de Strings O comando de teste também permite realizar comparações de valores de Strings. No próximo slide será apresentado uma tabela com operadores para comparação entre strings.
  • 15. Comparação de Strings str1 = str2 : Check if str1 is the same as string str2. str1 != str2 : Check if str1 is not the same as str2. str1 < str2 : Check if str1 is less than str2. str1 > str2 : Check if str1 is greater than str2. -n str1 : Check if str1 has a length greater than zero. -z str1 : Check if str1 has a length of zero.
  • 16. Comparação de Strings #!/bin/bash echo "Qual o seu login de usuario neste momento? " read testuser if [ $USER != $testuser ] then echo "This isn’t $testuser" else echo "Welcome $testuser" fi
  • 17. Comparação de Strings #!/bin/bash echo "Digite a primeira String: " read var1 echo "Digite a segundo String: " read var2 if [ $var1 > $var2 ] then echo "A string $var1 é maior que $var2" else echo "A string $var1 não é maior que $var2" fi
  • 18. Comparação de Strings #!/bin/bash echo "Digite a uma String: " read var1 if [ -z $var1 ] then echo "String está vazia" else echo "A string tem algo" fi
  • 19. Comparação de Arquivos/Diretórios O comando de teste que permite testar o status de arquivos e diretórios no sistema de arquivos Linux.
  • 20. Comparação de Arquivos/Diretórios -d file Check if file exists and is a directory. -e file Checks if file exists. -f file Checks if file exists and is a file. -r file Checks if file exists and is readable. -s file Checks if file exists and is not empty. -w file Checks if file exists and is writable. -x file Checks if file exists and is executable. -O file Checks if file exists and is owned by the current user. -G file Checks if file exists and the default group is the same as the current user. file1 -nt file2 Checks if file1 is newer than file2. file1 -ot file2 Checks if file1 is older than file2.
  • 21. Comparação de Arquivos/Diretórios #!/bin/bash if [ -d $HOME ] then echo "Seu HOME diretório existe" cd $HOME ls -a else echo "Você tem algum problema pois o diretório HOME não existe" fi
  • 22. Comparação de Arquivos/Diretórios #!/bin/bash # check if a file if [ -e $HOME ] then echo "The object exists, is it a file?" if [ -f $HOME ] then echo "Yes, it’s a file!" else echo "No, it’s not a file!" if [ -f $HOME/.bash history ] then echo "But this is a file!" fi fi else echo "Sorry, the object doesn’t exist" fi
  • 23. Referência BLUM, Richard. Linux Command Line and Shell Scripting. Indianapolis: Wiley Publishing, Inc, 2008..